home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWPart / Include / FWViewAs.h < prev   
Encoding:
Text File  |  1996-04-25  |  4.6 KB  |  161 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWViewAs.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWVIEWAS_H
  11. #define FWVIEWAS_H
  12.  
  13. #ifndef FWMREFCT_H
  14. #include "FWMRefCt.h"
  15. #endif
  16.  
  17. #ifndef FWRECT_H
  18. #include "FWRect.h"
  19. #endif
  20.  
  21. //========================================================================================
  22. // Forward class declarations
  23. //========================================================================================
  24.  
  25. class ODFacet;
  26. class ODShape;
  27. struct Environment;
  28.  
  29. class FW_CFrame;
  30. class FW_CShape;
  31. class FW_CPart;
  32. class FW_CPresentation;
  33. class FW_CGraphicContext;
  34.  
  35. //========================================================================================
  36. // CLASS FW_CViewAs
  37. //========================================================================================
  38.  
  39. class FW_CViewAs : public FW_MRefCount
  40. {    
  41. //----------------------------------------------------------------------------------------
  42. //    Constructor(s)/Destructor
  43. //
  44. public:
  45.     FW_CViewAs(Environment *ev);
  46.     virtual ~FW_CViewAs();
  47.     
  48. //----------------------------------------------------------------------------------------
  49. //    New API
  50. //
  51. public:
  52.     virtual void        Load(Environment* ev, FW_CFrame* frame) = 0;
  53.     virtual void        Unload(Environment* ev);
  54.     
  55.     virtual ODShape*    CalcUsedShape(Environment* ev) const = 0;
  56.     
  57.     virtual void        Draw(Environment* ev, 
  58.                             FW_CFrame* frame,
  59.                             ODFacet* facet, 
  60.                             ODShape* invalidShape) = 0;
  61.     
  62. //----------------------------------------------------------------------------------------
  63. //    Data Members
  64. //
  65. protected:
  66.     FW_CShape*            fShape;
  67. };
  68.  
  69. //========================================================================================
  70. // CLASS FW_CViewAsThumbnail
  71. //========================================================================================
  72.  
  73. class FW_CViewAsThumbnail : public FW_CViewAs
  74. {
  75. //----------------------------------------------------------------------------------------
  76. //    Constructor(s)/Destructor
  77. //
  78. public:
  79.     FW_CViewAsThumbnail(Environment *ev);
  80.     virtual ~FW_CViewAsThumbnail();
  81.     
  82. //----------------------------------------------------------------------------------------
  83. //    Inherited API
  84. //
  85. public:
  86.     virtual void        Load(Environment* ev, FW_CFrame* frame);
  87.     virtual ODShape*    CalcUsedShape(Environment* ev) const;
  88.                                 
  89.     virtual void        Draw(Environment* ev, 
  90.                             FW_CFrame* frame,
  91.                             ODFacet* facet, 
  92.                             ODShape* invalidShape);
  93.  
  94. //----------------------------------------------------------------------------------------
  95. //    Data Members
  96. //
  97. private:
  98.     FW_CRect            fUsedRect;        
  99. };
  100.  
  101. //========================================================================================
  102. // CLASS FW_CViewAsIcon
  103. //========================================================================================
  104.  
  105. class FW_CViewAsIcon : public FW_CViewAs
  106. {
  107. //----------------------------------------------------------------------------------------
  108. //    Constructor(s)/Destructor
  109. //
  110. public:
  111.     FW_CViewAsIcon(Environment *ev, short iconSize);
  112.     virtual ~FW_CViewAsIcon();
  113.     
  114. //----------------------------------------------------------------------------------------
  115. //    Inherited API
  116. //
  117. public:
  118.     virtual void        Load(Environment* ev, FW_CFrame* frame);
  119.     virtual ODShape*    CalcUsedShape(Environment* ev) const;
  120.     virtual void        Draw(Environment* ev,
  121.                             FW_CFrame* frame, 
  122.                             ODFacet* facet, 
  123.                             ODShape* invalidShape);
  124.     
  125. //----------------------------------------------------------------------------------------
  126. //    Data Members
  127. //
  128. protected:
  129.     short                fIconSize;
  130. };
  131.  
  132.  
  133. //========================================================================================
  134. // CLASS FW_CViewAsSmallIcon
  135. //========================================================================================
  136.  
  137. class FW_CViewAsSmallIcon : public FW_CViewAsIcon
  138. {
  139. //----------------------------------------------------------------------------------------
  140. //    Constructor(s)/Destructor
  141. //
  142. public:
  143.     FW_CViewAsSmallIcon(Environment *ev);
  144.     virtual ~FW_CViewAsSmallIcon();
  145. };
  146.  
  147. //========================================================================================
  148. // CLASS FW_CViewAsLargeIcon
  149. //========================================================================================
  150.  
  151. class FW_CViewAsLargeIcon : public FW_CViewAsIcon
  152. {
  153. //----------------------------------------------------------------------------------------
  154. //    Constructor(s)/Destructor
  155. //
  156. public:
  157.     FW_CViewAsLargeIcon(Environment *ev);
  158.     virtual ~FW_CViewAsLargeIcon();    
  159. };
  160.  
  161. #endif